Printer with selectable capabilities

ABSTRACT

A system comprising a processor and a memory comprising firmware is provided. The firmware is executable by the processor to cause the processor to operate a print mechanism in accordance with a first state associated with a capability of the print mechanism, change the first state associated with the capability to a second state in response to receiving first information from an external interface, and operate the print mechanism in accordance with the second state associated with the capability.

BACKGROUND

Printers and multi-function devices perform various functions for users.These functions may include printing, faxing, and/or scanning text andimages. The price of these devices is often based on level ofperformance and features of a particular device. For example, a devicethat includes facsimile and scanning functions in addition to printingfunctions may be priced higher than a device that includes only printingfunctions. Similarly, a device that performs printing functions at ahigher speed or resolution may be priced higher than a device thatperforms printing functions at a lower speed or resolution.

A user may purchase a printer or multi-function device with a certainset of features based on the user's present and future needs. Becausethe set of features of a printer or multi-function device is generallynot alterable, the user may have the choice of purchasing a printer ormulti-function device that either meets some but not all of the user'sneeds at a lower price or meets all of the user's needs but has featuresthat a user does not need at a higher price. In addition, the user'sneeds may change over time such that the user may desire an increased ora decreased set of features of the printer or multi-function device. Inmany cases, the user may need to purchase a different printer ormulti-function device to accommodate the user's changed needs. It wouldbe desirable for a user to be able to purchase a printer ormulti-function device that closely met the user's needs both at the timeor purchase and over time.

SUMMARY

In an exemplary embodiment, the present disclosure provides a systemcomprising a processor and a memory comprising firmware. The firmware isexecutable by the processor to cause the processor to operate a printmechanism in accordance with a first state associated with a capabilityof the print mechanism, change the first state associated with thecapability to a second state in response to receiving first informationfrom an external interface, and operate the print mechanism inaccordance with the second state associated with the capability.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is diagram illustrating an embodiment of a system that includes aprinter with selectable capabilities.

FIG. 2 is a block diagram illustrating an embodiment of a printer withselectable capabilities.

FIG. 3 is a block diagram illustrating an embodiment of a computersystem.

FIG. 4 is a block diagram illustrating an embodiment of a server.

FIG. 5 is a flow chart illustrating an embodiment of a method forselecting capabilities of a printer.

FIG. 6 is diagram illustrating an alternative embodiment of a systemthat includes a printer with selectable capabilities.

DETAILED DESCRIPTION

In the following Detailed Description, reference is made to theaccompanying drawings, which form a part hereof, and in which is shownby way of illustration specific embodiments in which the invention maybe practiced. In this regard, directional terminology, such as “top,”“bottom,” “front,” “back,” “leading,” “trailing,” etc., is used withreference to the orientation of the Figure(s) being described. Becausecomponents of embodiments of the present invention can be positioned ina number of different orientations, the directional terminology is usedfor purposes of illustration and is in no way limiting. It is to beunderstood that other embodiments may be utilized and structural orlogical changes may be made without departing from the scope of thepresent invention. The following Detailed Description, therefore, is notto be taken in a limiting sense, and the scope of the present inventionis defined by the appended claims.

In embodiments herein below, a printer with selectable capabilities isshown and described. The printer provides a user with the ability toselect and enable certain capabilities of the printer in conjunctionwith a server. The capabilities may include performance capabilitiessuch as increased print speed or resolution, upgrade capabilities suchas software or hardware upgrades, functional capabilities such asenabling a facsimile or scanner function, and renewal capabilities suchas enabling expired or used-up features. In response to receiving arequest for a particular capability from a user, the server may collectpayment information associated with the capability prior to enabling thecapability in the printer.

FIG. 1 is diagram illustrating an embodiment of a system 100 thatincludes a printer 108 with selectable capabilities. System 100comprises a server 102, a computer system 104, a network 106, andprinter 108. Server 102 is coupled to network 106 using a connection112, computer system 104 is coupled to network 106 using a connection114, and printer 108 is coupled to computer system 104 using aconnection 116. Connections 112, 114, and 116 may each be any type ofwired or wireless connection, and connections 112, 114, and 116 may eachinclude any number of intermediate connections (not shown).

Server 102 comprises any suitable computer system configured to provideinformation to computer system 104 in response to requests from computersystem 104 using network 106. Network 106 comprises any suitablecommunications network such as a global communications network, e.g.,the Internet. Computer system 104 communicates with network 106 usingconnection 114 and with printer 108 using connection 116.

FIG. 2 is a block diagram illustrating an embodiment of printer 108.Printer 108 comprises a print engine 200 that comprises an externalinterface 202, a processor 204, and firmware 206. Printer 108 alsocomprises a print mechanism 208, an optional functional unit 210, and aninput/output (I/O) device 212.

Printer 108 comprises any type of impact or non-impact printing deviceconfigured to transfer text and/or images to paper or another type ofmedia. Types of printing devices include laser printers, inkjetprinters, bubble jet printers, thermal printers, and plotters. Printer108 receives text and/or images from computer system 104 or a printserver (not shown) and prints the text and/or images onto a media, e.g.,paper, from one or more media trays. Printer 108 may provide statusinformation regarding print jobs to computer system 104 or the printserver.

Print engine 200 communicates with computer system 104 or the printserver using interface 202 to receive print jobs and causes the printjobs to be printed using print mechanism 208. In the embodiment shown inFIG. 2, print engine comprises processor 204 and firmware 206 to performthese functions. Firmware 206 includes instructions that are executableby processor 204 to cause printer 108 to communicate with computersystem 104 or the print server to receive print jobs and provide statusinformation. Firmware 206 also includes instructions that are executableby processor 204 to cause print jobs to be printed by print mechanism208. In other embodiments, print engine 200 comprises other combinationsof hardware and software components configured to perform the functionsjust described.

Print mechanism 208 comprises any suitable print mechanism configured toprint text and/or images onto a paper or another type of media. Forexample, print mechanism 208 may comprise a laser, inkjet, bubble jet,or impact print mechanism. Print mechanism 208 receives print jobs fromprint engine 200 and prints the print jobs according to any parametersprovided by print engine 200. Print mechanism 208 may include photoprintout capabilities to allow a user to print high resolution imagesonto high quality photo paper.

Printer 108 may include optional functional unit 210. Function unit 210may comprise a facsimile device and/or a scanner device configured toperform facsimile functions and/or scanner functions, respectively.Facsimile functions include sending and receiving facsimile images.Scanner functions include scanning images into an electronic format andperforming processing on the scanned images. Print engine 200 controlsthe operation of functional unit 210 in response to inputs from computersystem 104 or I/O device 212.

I/O device 212 comprises any suitable mechanisms for allowing a user tocontrol the operation of printer 108. Examples of such mechanismsinclude any combination of buttons, keys, dials, switches, touch-pads,and visual displays. I/O device 212 may provide mechanisms to display alist of capabilities of printer 108, allow a user to select one or moreof the capabilities, and receive additional information associated withthe selected capabilities.

Printer 108 is configured to provide a user with an ability to selectand enable capabilities of printer 108 to meet the user's needs. Thecapabilities include performance capabilities such as increased printspeed, resolution, or image quality, upgrade capabilities such assoftware or hardware upgrades, functional capabilities such as enablinga facsimile or scanner function, and renewal capabilities such asenabling expired or used-up features. In response to receiving a requestfor a particular capability from a user, printer 108 may cause paymentinformation associated with the capability to be provided from the userto server 102 prior to enabling the capability in the printer.

In one embodiment, printer 108 operates in conjunction with computersystem 104 to provide a user with the ability to select and enablecapabilities of printer 108. FIG. 3 is a block diagram illustrating anembodiment of computer system 104. Computer system 104 comprises aninterface 302, a processor 304, a device driver 306, a networkconnection 308, and one or more input/output (I/O) devices 310 such as acomputer display, a keyboard, and a mouse. Interface 302 couples tointerface 202 of printer 108 to allow computer system 104 to communicatewith printer 108. Device driver 306 comprises instructions that areexecutable by processor 304 to control the operation of printer 108.Device driver 306 causes print jobs generated by computer system 104 orother computer systems coupled to computer system 104 (not shown) to beprovided to printer 108 to be printed. Device driver 306 also causes auser interface to be provided to a user of computer system 104 using I/Odevices 310 to configure printer 108, manage print jobs, and selectcapabilities of printer 108 to be enabled. Network connection 308comprises any suitable communications device that allows computer system104 to communicate with network 106 and/or other networks (not shown).

To allow a user to select and enable capabilities of printer 108,computer system 104 accesses information including a list ofcapabilities of printer 108 and provides the information to the user. Inone embodiment, computer system 104 accesses the information from server102. To access the information, computer system 104 may provideinformation that identifies printer 108 and/or the user to server 102.In other embodiments, the information may be included as part of devicedriver 306 and/or firmware 206. In these embodiments, computer system104 accesses the information from device driver 306 and/or firmware 206.

FIG. 4 is a block diagram illustrating an embodiment of server 102.Server 102 comprises a network connection 402, a processor 404, acapability manager 406, a capability database 408, and an accountmanager 410. Network connection 402 comprises any suitablecommunications device that allows server 102 to communicate with network106 and/or other networks (not shown). Capability manager 406 comprisesinstructions that are executable by processor 404 and/or processor 304of computer system 104 to cause a list of capabilities for printer 108to be generated using capability database 408. Capability database 408comprises information that lists the capabilities that may be enabledfor printer 108 and other printers (not shown). Account manager 410stores user information associated with printer 108. The userinformation may include a user's name, address, telephone number, e-mailaddress, and billing or payment information.

Capability manager module 406, capability database 408, and accountmanager 410 may each be any combination of hardware components andsoftware components that are executable by processor 404, processor 304,or another processor or controller (not shown).

FIG. 5 is a flow chart illustrating an embodiment of a method forselecting and enabling a capability in printer 108 using system 100shown in FIG. 1. In FIG. 5, a list of capabilities is received bycomputer system 104 from server 102 as indicated in a block 502. Thelist is received in response to a request from computer system 104. Therequest may include information that identifies printer 108 and/or theuser. Computer system 104 displays the list to the user using anysuitable user interface such as a graphical Internet browser or othergraphical interface. The list may include one or more prices associatedwith each capability.

Printer 108 may be initially provided to a user with a set of enabledcapabilities that depend on the price and performance level selected bythe user. By selecting and enabling additional capabilities, theperformance of printer 108 may be more closely tailored to the needs ofthe user. As noted above, the capabilities that may be enabled by theuser may include performance capabilities, upgrade capabilities,functional capabilities, and renewal capabilities.

Examples of performance capabilities that may be enabled includeincreased print speeds, increased print resolutions, or increased imagequality. By selecting increased print speed, resolution, or imagequality, a user may cause printer 108 to print faster, sharper, or of ahigher image quality in one or more modes of operation. For example, theuser may select to increase print speed and/or resolution for colorand/or black and white printing. The user may also select to increaseprint speed and/or resolution for draft, normal, and/or best modes ofoperation of printer 108. By enabling increased print speed orresolution, the user causes print engine 200 to operate print mechanism208 at the increased print speed and/or resolution.

Other examples of performance capabilities that may be enabled are photoimage enhancement and paper image optimization. With photo imageenhancement, print engine 200 may perform image correction, sharpening,contrast, red eye correction or other photo enhancement features. Withpaper image optimization, print engine 200 may optimize an image basedon the type of media used for printing, e.g., plain paper, photo paper,transparency sheets, or card stock.

Examples of upgrade capabilities include software and hardware upgradesfor printer 108. The user may be provided with an ability to upgrade oneor more software or hardware components of printer 108 by enabling theupgraded component. For example, upgrades to firmware 206 may bedownloaded to provide additional functionality or fix defects.

As another example, upgrades to replaceable hardware components such asprint heads or print cartridges may be enabled the user. The print headsor print cartridges may be provided to the user such that they areinoperable or only partially operable without being enabled. The printheads or cartridges may include one or more types of pens that includedifferent types of ink. The user may be required to enable a capabilitythat allows one or more of the types of pens to be used.

Yet another example of an upgrade capability includes enablingparticular media types by enabling one or more media trays of printer108. Printer 108 may include different media trays for different typesof media. Print engine 200 may be configured to print using only enabledmedia trays. A user may enable other media trays to cause print engine200 to print to other types of media.

A further example of an upgrade capability includes enabling additionalI/O capabilities for communication with devices such as cameras, DVDplayers, televisions, and video devices that use S-video connections. Byenabling upgraded hardware and/or software components, print engine 200provides a user with the ability to use these upgraded components.

Examples of functional capabilities include enabling facsimile, scanneror photo printout functions. In embodiments where printer 108 includesoptional function unit 210, the user may enable facsimile and/or scannerfunctions or enhancements to existing facsimile or scanner functions.The user may also enable photo printout functions or enhancements toexisting photo printout functions in embodiments where print mechanism208 includes photo printout capabilities. In response to a functionbeing enabled, print engine 200 operates functional unit 210 and/orprint mechanism 208 to allow the function to be performed by the user.With facsimile, scanner, and photo printout functions, the user mayenable image enhancement, increased speed, and/or increased resolutioncapabilities. In addition, the user may enable a modem or soft-modemcapability for facsimile functions.

Examples of renewal capabilities include enabling expired or used-uplicense capabilities. Printer 108 may be provided to the user withfunctions enabled for a limited time (e.g., a trial period) or for alimited number of uses. For example, printer 108 may allow a limitednumber of printed pages and photos, facsimiles sent and received, andscanned images. Printer engine 200 may track the use of each of thesefunctions. The user may extend or increase these licensed limits bypaying for additional time or uses. In response to additional use beingenabled, printer engine 200 allows the user to use the functions for thetime or number of uses paid for by the user. In some embodiments, onlysome functions may be offered on a per-use license basis. For example,the user may purchase high resolution scans or high resolution enhancedphoto printouts to enable these functions.

Referring back to FIG. 5, the list of capabilities that may be enabledby the user from block 502 may include performance capabilities, upgradecapabilities, functional capabilities, and renewal capabilities asdescribed above. The user may select one or more of the capabilities tobe enabled by providing an input to computer system 104. Computer system104 receives the capability selection from the user as indicated in ablock 504. Computer system 104 provides information associated with thecapability selection to server 102. The information may include paymentinformation or billing information to cause the user to pay for enablingthe selected capabilities. In response to receiving and verifying theinformation from computer system 104, server 102 provides informationassociated with the selected capabilities to computer system 104. Inresponse to receiving this information, computer system 104 provides theinformation to printer 108. Printer 108 enables the selectedcapabilities using the information as indicated in a block 508. Theinformation from server 102 may include one or more encryption keysconfigured to enable capabilities of printer 108. The information mayalso include a firmware update to replace firmware 206 or additionalfirmware for use in conjunction with the existing firmware 206.

In response to a capability being enabled, print engine 200 allows theuser to use the selected capability. In particular, print engine 200operates print mechanism 208 and functional unit 210 in accordance withone or more indicators associated with one or more capabilities of printmechanism 208 and functional unit 210. In one embodiment, the indicatorseach comprise an encryption key stored on printer 108. In otherembodiments, the indicators may comprise other types of informationstored on computer system 104, on server 102, or in other locations.

Print engine 200 determines a state associated with a capability byexamining an indicator associated with the capability. Depending on thetype of capability, the state may indicate whether the capability isenabled or disabled, or the state may indicate a level of performanceassociated with the capability. For example, in an embodiment wherefunctional unit 210 comprises a facsimile device, print engine 200 mayaccess an indicator associated with the facsimile device to determinewhether the facsimile device is enabled or disabled. The state of theindicator associated with the facsimile device may be changed, e.g.,from disabled to enabled, in response to the user enabling the facsimiledevice as described above. The state of the indicator associated withthe facsimile device may also be changed, e.g., from enabled todisabled, in response to a license associated with the facsimile devicebeing used-up or expiring.

As another example, print engine 200 may access an indicator associatedwith print mechanism 208 to determine the speed or resolution to applyto a print job. The state of the indicator associated with printmechanism 208 may be changed, e.g., from a lower level of performance(e.g., 10 pages per minute) to a higher level of performance (e.g., 20pages per minute), in response to the user selecting and paying for thehigher level of performance as described above. The state of theindicator associated with print mechanism 208 may be changed, e.g., froma higher level of performance to a lower level of performance, inresponse to a license associated with print mechanism 208 being used-upor expiring.

In another embodiment, print engine 200 performs the functions describedabove with respect to computer system 104 using I/O device 212. Inparticular, the I/O device 212 provides the list of capabilities thatmay be enabled to the user. The user selects capabilities to be enabledand provides payment information using I/O device 212. Print engine 200provides information associated with the selections and paymentinformation to server 102 using computer system 104 and device driver306. Print engine 200 receives information associated with theselections and payment information from server 102 using computer system104 and enables the selected capabilities using the information. Printengine 200 allows the user to use the selected capabilities in responseto the selected capabilities being enabled.

FIG. 6 is a diagram illustrating an alternative embodiment of a system600 that includes printer 108 with selectable capabilities. In system600, printer 108 comprises a network device (not shown) configured tocommunicate with network 106 using a connection 602. Connection 602 maybe any suitable wired or wireless connection and may include any numberof intermediate connections (not shown).

In the embodiment of FIG. 6, print engine 200 performs the functionsdescribed above with respect to computer system 104 using I/O device212. In particular, the I/O device 212 provides the list of capabilitiesthat may be enabled to the user. The user selects capabilities to beenabled and provides payment information using I/O device 212. Printengine 200 provides information associated with the selections andpayment information to server 102 using connection 602. Print engine 200receives information associated with the selections and paymentinformation from server 102 using connection 602 and enables theselected capabilities using the information. Print engine 200 allows theuser to use the selected capabilities in response to the selectedcapabilities being enabled.

Although various examples of capabilities of printer 108 that may beenabled and/or upgraded by the user have been described above, theenabling and/or upgrading of other capabilities of print mechanism 208and functional unit 210 of printer 108 are possible and contemplated.

Although specific embodiments have been illustrated and describedherein, it will be appreciated by those of ordinary skill in the artthat a variety of alternate and/or equivalent implementations may besubstituted for the specific embodiments shown and described withoutdeparting from the scope of the present invention. This application isintended to cover any adaptations or variations of the specificembodiments discussed herein. Therefore, it is intended that thisinvention be limited only by the claims and the equivalents thereof.

1. A printer comprising: a user interface configured to receive an inputfrom a user for upgrading the printer; a memory configured to store atleast one upgrade indicator; a communication interface configured tosend billing information to a server based on the input from the userand receive verification from the server authorizing a previouslyinoperable hardware component to be enabled by changing a state of theat least one upgrade indicator; a first hardware component configured toperform in a first printing process and enabled before the input isreceived from the user; and a second hardware component configured toperform in a second process and configured to be inoperable before astate of the at least one upgrade indicator is set to a second stateenabling the second hardware component; a controller configured tooperate the first hardware component and the second hardware component;wherein the controller is configured to set the state of the at leastone upgrade indicator to change from a first state corresponding to thesecond hardware component being inoperable to the second statecorresponding to the second hardware component being enabled in responseto the verification received from the server, and wherein the controlleris configured to set the state of the at least one upgrade at the secondstate according to a license associated with the second state thatenables the second hardware component.
 2. The printer of claim 1,wherein the second state enabling the second hardware component is setto expire at a time identified in the license.
 3. The printer of claim2, wherein the set expiration time identified in the license correspondsto a trial period.
 4. The printer of claim 2, wherein the trial is apredetermined number of uses of the second hardware component.
 5. Theprinter of claim 1, wherein the second hardware component is at leastone of a scanning component, faxing component and a modem component, andwherein the second process is at least one of a scanning process, faxingprocess and a modem connection process, respectively.
 6. The printer ofclaim 1, wherein the second process is a second printing process.
 7. Theprinter of claim 1, wherein the first hardware component and the secondhardware component are print cartridges or print heads.
 8. The printerof claim 1, wherein the first hardware component and the second hardwarecomponent are media trays.
 9. The printer of claim 1, wherein thecontroller is configured to permanently set the state of the at leastone upgrade indicator to the second state according to the verificationreceived from the server.
 10. A method for upgrading a printer, themethod comprising: receiving an input from a user; storing at least onecapabilities indicator in a memory; sending, using a communicationinterface, billing information to a server based on the input from theuser; receiving, using the communication interface, a verification fromthe server authorizing a previously inoperable hardware component to beenabled by changing a state of the at least one upgrade indicator;operating a controller to control a first hardware component to performa first printing process, wherein the first hardware component isenabled before the input is received from the user; operating thecontroller to set a state of the at least one capabilities indicatorfrom a first state corresponding to a second hardware component beinginoperable to a second state corresponding to the second hardwarecomponent being enabled in response to the verification received fromthe server; operating the controller to control the second hardwarecomponent to perform a second process based on the at least onecapabilities indicator being set to the second state enabling the secondhardware component, wherein the controller sets the state of the atleast one capabilities indicator at the second state according to alicense associated with the second state that enables the secondhardware component.
 11. The method of claim 10, wherein the second stateenabling the second hardware component is set to expire at a timeidentified in the license.
 12. The method of claim 11, wherein the setexpiration time identified in the license corresponds to a trial period.13. The method of claim 11, wherein the trial is a predetermined numberof uses of the second hardware component.
 14. The method of claim 10,wherein the second hardware component is at least one of a scanningcomponent, faxing component and a modem component, and wherein thesecond process is at least one of a scanning process, faxing process anda modem connection process, respectively.
 15. The method of claim 10,wherein the second process is a second printing process.
 16. The methodof claim 10, wherein the first hardware component and the secondhardware component are print cartridges or print heads.
 17. The methodof claim 10, wherein the first hardware component and the secondhardware component are media trays.
 18. The method of claim 10, whereinthe second hardware component includes a scanner.
 19. The method ofclaim 10, wherein the second hardware component includes a facsimile.20. The method of claim 10, wherein the second hardware componentincludes a modem.
 21. The method of claim 10, further comprising:permanently setting the state of the at least one capabilities indicatorto the second state according to the verification received from theserver.
 22. A system for performing a hardware related processcomprising: a user interface configured to receive an input from a user;a memory configured to store at least one capabilities indicator; acommunication interface configured to send billing information to aserver based on the input from the user and receive verification fromthe server authorizing a previously inoperable hardware component to beenabled by changing a state of the at least one upgrade indicator; afirst hardware component configured to be involved in a first hardwarerelated printing process and configured to be enabled before the inputis received from the user; a second hardware component configured to beinvolved in a second hardware related process and configured to beinoperable before a state of the at least one capabilities indicator isset to a second state enabling the second hardware component; and acontroller configured to operate the first hardware component and thesecond hardware component; wherein the controller is configured to setthe state of the at least one capabilities indicator to change from afirst state corresponding to the second hardware component beinginoperable to the second state corresponding to the second hardwarecomponent being enabled in response to the verification received fromthe server, and wherein the controller is configured to set the state ofthe at least one upgrade indicator at the second state according to alicense associated with the second state that enables the secondhardware component.
 23. The system of claim 22, wherein the firsthardware component and the second hardware component are external to thecontroller.
 24. The system of claim 22, wherein the second stateenabling the second hardware component is set to expire at a timeidentified in the license.
 25. The system of claim 24, wherein the setexpiration time identified in the license corresponds to a trial period.26. The system of claim 24, wherein the trial is a predetermined numberof uses of the second hardware component.
 27. The system of claim 22,wherein the second hardware component is at least one of a scanningcomponent, faxing component and a modem component, and wherein thesecond hardware related process is at least one of a scanning process,faxing process and a modem connection process, respectively.
 28. Thesystem of claim 22, wherein the second hardware related process is asecond hardware related printing process.
 29. The system of claim 22,wherein the first hardware component and the second hardware componentare print cartridges or print heads.
 30. The system of claim 22, whereinthe first hardware component and the second hardware component are mediatrays.
 31. The system of claim 22, wherein the controller is configuredto permanently set the state of the at least one capabilities indicatorto the second state according to the verification received from theserver.